/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Interfaz;

//import negocio.Factura;
//import negocio.Proveedores;
//import negocio.Productos;
//import negocio.Clientes;
//import negocio.Proveedor;
//import negocio.Producto;
//import negocio.Cliente;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.beans.PropertyVetoException;
import java.io.File;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import javax.swing.DefaultListModel;
import javax.swing.ImageIcon;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author INGENIERIA
 */
public class InterfazEntidades extends javax.swing.JInternalFrame {
    DefaultTableModel modeloproducto = new DefaultTableModel();
    double preciocompra=0.00;
    int stock=0;
    String nombre=null;
    String codigo=null;
    String pro=null;
//    Productos productos=new Productos();
//    Producto producto=new Producto();
//    Proveedores proveedores=new Proveedores();
//    Proveedor proveedor=new Proveedor();
    boolean operacion=false;
    ArrayList listaProducto=new ArrayList();
    ArrayList listapro=new ArrayList();
    Object listaAtributos[]=new Object[4];
    //Producto recuBuscado=new Recurso();
    ImageIcon ImgValido=new ImageIcon(getClass().getResource( "/Imagenes/CampoValido.jpg" ));
    ImageIcon ImgInvalido=new ImageIcon(getClass().getResource( "/Imagenes/CampoInvalido.jpg" ));
    mipanel panelMenuI = new mipanel(490, 44,"/imagenes/tab_bar.jpg");
    //mipanel panelMensajeI = new mipanel(474, 33,"/imagenes/title_panel.jpg");
    mipanel bgrTitulo = new mipanel(821, 36,"/imagenes/title_panel1.jpg");
    DefaultComboBoxModel modeloProveedorCombo=new DefaultComboBoxModel(); 
    
//    public Productos getProductos() {
//        return productos;
//    }
//
//    public void setProductos(Productos productos) {
//        this.productos = productos;
//    }
//
//    public boolean isOperacion() {
//        return operacion;
//    }
//
//    public void setOperacion(boolean operacion) {
//        this.operacion = operacion;
//    }
//    /**
//     * Creates new form IngresoProyecto
//     */
    public InterfazEntidades() {
        initComponents();
//        pnlMensaje.setVisible(false);
//        pnlIngresoProducto.setVisible(false);
//        pnlMenu.setVisible(true);
//        agregarElementos();
//        agregarProveedoresCombo();
//        pnlModificacion.setVisible(true);
//        tblProducto.setModel(modeloproducto);
//        modeloproducto.addColumn("Codigo");
//        modeloproducto.addColumn("Nombre");
//        modeloproducto.addColumn("Precio Compra");
//        modeloproducto.addColumn("Precio Unitario");
//        modeloproducto.addColumn("Stock");
//        modeloproducto.addColumn("Proveedor");
//        agregarElementos();
//        jPanel1.add(bgrTitulo);
//        jPanel1.repaint();
//        //pnlMensaje.add(panelMensajeI);
//        //pnlMensaje.repaint();
//        //pnlMenu.add(panelMenuI);
//        //pnlMenu.repaint();
    }

//    public void limpiar()
//    {
//        int tamaño= modeloproducto.getRowCount();
//        for(int i=0;i<tamaño;i++)
//        {
//            modeloproducto.removeRow(0);
//        }
//    }
//     public void agregarElementos()
//    {
//        limpiar();
//        //System.out.println(gestorciudades.listar().listar().size()+"");
//        productos.listar();
//        listaProducto=productos.getProductos();
//        Iterator it = listaProducto.iterator();
//        while (it.hasNext())
//        {
//            Producto p=(Producto) it.next();
//            
//            Object atributosProducto[]={p.getCodigo(),p.getNombre(),p.getPreciocompra(), p.getPreciou(), p.getStock(), p.getIdproveedor()};
//            modeloproducto.addRow(atributosProducto);
//        }
//        System.out.println(pnlMenu.getWidth()+" a "+pnlMenu.getHeight());
//        System.out.println("Numero:"+modeloproducto.getRowCount());
//    }
//
//    public boolean Validar()
//    {
//        boolean resp=false;
//        if(valNom.getIcon().equals(ImgInvalido) || valCant.getIcon().equals(ImgInvalido) || valPrecio.getIcon().equals(ImgInvalido))
//        {
//            resp=false;
//        }
//        else
//        {
//            resp=true;
//        }
//        return resp;
//    }
    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        pnlMensaje = new javax.swing.JPanel();
        lblMensaje = new javax.swing.JLabel();
        btnCerrarMensaje = new javax.swing.JButton();
        lblVerificar = new javax.swing.JLabel();
        pnlMenu = new javax.swing.JPanel();
        btnIngresar = new javax.swing.JButton();
        btnModificar = new javax.swing.JButton();
        btnEliminar = new javax.swing.JButton();
        pnlModificacion = new javax.swing.JPanel();
        pnlGrilla = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        tblProducto = new javax.swing.JTable();
        pnlIngresoProducto = new javax.swing.JPanel();
        lblNombre1 = new javax.swing.JLabel();
        lblCodigo1 = new javax.swing.JLabel();
        txtId = new javax.swing.JTextField();
        txtNombre = new javax.swing.JTextField();
        btnNuevo = new javax.swing.JButton();
        btnGrabar = new javax.swing.JButton();
        btnCancelar = new javax.swing.JButton();
        valNom = new javax.swing.JLabel();
        valCant = new javax.swing.JLabel();
        valPrecio = new javax.swing.JLabel();
        lblLibro = new javax.swing.JLabel();
        cmbProveedor = new javax.swing.JComboBox();
        btnAgregar = new javax.swing.JButton();
        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();

        setBackground(new java.awt.Color(250, 249, 242));
        setBorder(null);
        setForeground(new java.awt.Color(255, 255, 102));

        pnlMensaje.setBackground(new java.awt.Color(250, 247, 247));
        pnlMensaje.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblMensaje.setBackground(new java.awt.Color(250, 247, 247));

        btnCerrarMensaje.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/cerrar.jpg"))); // NOI18N
        btnCerrarMensaje.setToolTipText("Cerrar Mensaje");
        btnCerrarMensaje.setBorder(null);
        btnCerrarMensaje.setOpaque(false);
        btnCerrarMensaje.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCerrarMensajeActionPerformed(evt);
            }
        });

        lblVerificar.setAutoscrolls(true);

        javax.swing.GroupLayout pnlMensajeLayout = new javax.swing.GroupLayout(pnlMensaje);
        pnlMensaje.setLayout(pnlMensajeLayout);
        pnlMensajeLayout.setHorizontalGroup(
            pnlMensajeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlMensajeLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblMensaje, javax.swing.GroupLayout.PREFERRED_SIZE, 393, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblVerificar, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(11, 11, 11)
                .addComponent(btnCerrarMensaje))
        );
        pnlMensajeLayout.setVerticalGroup(
            pnlMensajeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlMensajeLayout.createSequentialGroup()
                .addGroup(pnlMensajeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(lblMensaje, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(lblVerificar, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnCerrarMensaje, javax.swing.GroupLayout.Alignment.LEADING))
                .addContainerGap())
        );

        pnlMenu.setBackground(new java.awt.Color(250, 247, 247));
        pnlMenu.setBorder(javax.swing.BorderFactory.createTitledBorder(""));
        pnlMenu.setPreferredSize(new java.awt.Dimension(490, 44));

        btnIngresar.setBackground(new java.awt.Color(250, 247, 247));
        btnIngresar.setForeground(new java.awt.Color(255, 255, 255));
        btnIngresar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/cmd_ingresar.jpg"))); // NOI18N
        btnIngresar.setBorder(null);
        btnIngresar.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        btnIngresar.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
        btnIngresar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnIngresarActionPerformed(evt);
            }
        });

        btnModificar.setBackground(new java.awt.Color(250, 247, 247));
        btnModificar.setForeground(new java.awt.Color(255, 255, 255));
        btnModificar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/cmd_modificar.jpg"))); // NOI18N
        btnModificar.setBorder(null);
        btnModificar.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        btnModificar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnModificarActionPerformed(evt);
            }
        });

        btnEliminar.setBackground(new java.awt.Color(250, 247, 247));
        btnEliminar.setForeground(new java.awt.Color(255, 255, 255));
        btnEliminar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/cmd_eliminar.jpg"))); // NOI18N
        btnEliminar.setBorder(null);
        btnEliminar.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        btnEliminar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnlMenuLayout = new javax.swing.GroupLayout(pnlMenu);
        pnlMenu.setLayout(pnlMenuLayout);
        pnlMenuLayout.setHorizontalGroup(
            pnlMenuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlMenuLayout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addComponent(btnIngresar)
                .addGap(10, 10, 10)
                .addComponent(btnModificar)
                .addGap(10, 10, 10)
                .addComponent(btnEliminar)
                .addContainerGap(131, Short.MAX_VALUE))
        );
        pnlMenuLayout.setVerticalGroup(
            pnlMenuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlMenuLayout.createSequentialGroup()
                .addGroup(pnlMenuLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(btnIngresar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnModificar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(btnEliminar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        pnlModificacion.setBackground(new java.awt.Color(250, 247, 247));
        pnlModificacion.setBorder(javax.swing.BorderFactory.createTitledBorder("Lista De Entidades"));

        pnlGrilla.setBackground(new java.awt.Color(250, 247, 247));

        tblProducto.setAutoCreateRowSorter(true);
        tblProducto.setBackground(new java.awt.Color(250, 249, 242));
        tblProducto.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        tblProducto.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null},
                {null, null},
                {null, null},
                {null, null},
                {null, null},
                {null, null},
                {null, null},
                {null, null},
                {null, null},
                {null, null}
            },
            new String [] {
                "Id", "Nombre"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                false, false
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        tblProducto.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        tblProducto.setGridColor(new java.awt.Color(51, 51, 51));
        tblProducto.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                tblProductoMouseClicked(evt);
            }
        });
        jScrollPane1.setViewportView(tblProducto);
        tblProducto.getColumnModel().getSelectionModel().setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);

        javax.swing.GroupLayout pnlGrillaLayout = new javax.swing.GroupLayout(pnlGrilla);
        pnlGrilla.setLayout(pnlGrillaLayout);
        pnlGrillaLayout.setHorizontalGroup(
            pnlGrillaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlGrillaLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 527, Short.MAX_VALUE)
                .addContainerGap())
        );
        pnlGrillaLayout.setVerticalGroup(
            pnlGrillaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlGrillaLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout pnlModificacionLayout = new javax.swing.GroupLayout(pnlModificacion);
        pnlModificacion.setLayout(pnlModificacionLayout);
        pnlModificacionLayout.setHorizontalGroup(
            pnlModificacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlModificacionLayout.createSequentialGroup()
                .addComponent(pnlGrilla, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        pnlModificacionLayout.setVerticalGroup(
            pnlModificacionLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pnlGrilla, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pnlIngresoProducto.setBackground(new java.awt.Color(250, 247, 247));
        pnlIngresoProducto.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createTitledBorder(""), "Ingreso De Entidades"));

        lblNombre1.setText("Nombre:");

        lblCodigo1.setText("Codigo:");

        txtId.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtIdActionPerformed(evt);
            }
        });

        txtNombre.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                txtNombreActionPerformed(evt);
            }
        });
        txtNombre.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                txtNombreFocusLost(evt);
            }
        });

        btnNuevo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/cmd_nuevo.jpg"))); // NOI18N
        btnNuevo.setBorder(null);
        btnNuevo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnNuevoActionPerformed(evt);
            }
        });

        btnGrabar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/cmd_grabar.jpg"))); // NOI18N
        btnGrabar.setBorder(null);
        btnGrabar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnGrabarActionPerformed(evt);
            }
        });

        btnCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/cmd_cancel.jpg"))); // NOI18N
        btnCancelar.setBorder(null);
        btnCancelar.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnCancelarMouseClicked(evt);
            }
        });
        btnCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnCancelarActionPerformed(evt);
            }
        });

        valNom.setBackground(new java.awt.Color(250, 247, 247));
        valNom.setOpaque(true);

        valCant.setBackground(new java.awt.Color(250, 247, 247));
        valCant.setOpaque(true);

        valPrecio.setBackground(new java.awt.Color(250, 247, 247));
        valPrecio.setOpaque(true);

        lblLibro.setText("Lugar");

        cmbProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmbProveedorActionPerformed(evt);
            }
        });
        cmbProveedor.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                cmbProveedorFocusLost(evt);
            }
        });

        btnAgregar.setBackground(new java.awt.Color(250, 247, 247));
        btnAgregar.setForeground(new java.awt.Color(255, 255, 255));
        btnAgregar.setBorder(null);
        btnAgregar.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        btnAgregar.setDebugGraphicsOptions(javax.swing.DebugGraphics.NONE_OPTION);
        btnAgregar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnAgregarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnlIngresoProductoLayout = new javax.swing.GroupLayout(pnlIngresoProducto);
        pnlIngresoProducto.setLayout(pnlIngresoProductoLayout);
        pnlIngresoProductoLayout.setHorizontalGroup(
            pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlIngresoProductoLayout.createSequentialGroup()
                .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(pnlIngresoProductoLayout.createSequentialGroup()
                        .addGap(117, 117, 117)
                        .addComponent(btnNuevo)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnGrabar)
                        .addGap(10, 10, 10)
                        .addComponent(btnCancelar))
                    .addGroup(pnlIngresoProductoLayout.createSequentialGroup()
                        .addGap(75, 75, 75)
                        .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(lblNombre1)
                            .addComponent(lblCodigo1))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(txtId, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE)
                            .addComponent(txtNombre))
                        .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(pnlIngresoProductoLayout.createSequentialGroup()
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(valNom, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                        .addComponent(valCant, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(valPrecio, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE))))
                            .addGroup(pnlIngresoProductoLayout.createSequentialGroup()
                                .addGap(28, 28, 28)
                                .addComponent(lblLibro)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(cmbProveedor, 0, 92, Short.MAX_VALUE)
                                .addGap(6, 6, 6)
                                .addComponent(btnAgregar, javax.swing.GroupLayout.DEFAULT_SIZE, 66, Short.MAX_VALUE)))))
                .addContainerGap(20, Short.MAX_VALUE))
        );
        pnlIngresoProductoLayout.setVerticalGroup(
            pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlIngresoProductoLayout.createSequentialGroup()
                .addGap(34, 34, 34)
                .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(lblCodigo1)
                        .addComponent(txtId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(btnAgregar, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblLibro)
                            .addComponent(cmbProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addGap(18, 18, 18)
                .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(valNom, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(txtNombre)
                    .addComponent(lblNombre1))
                .addGap(14, 14, 14)
                .addComponent(valCant, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(valPrecio, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(32, 32, 32)
                .addGroup(pnlIngresoProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btnCancelar)
                    .addComponent(btnNuevo)
                    .addComponent(btnGrabar))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jPanel1.setBackground(new java.awt.Color(250, 249, 242));

        jLabel1.setText("ENTIDADES: Ingreso Modificación Eliminación");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGap(25, 25, 25)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 401, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(399, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(layout.createSequentialGroup()
                .addGap(101, 101, 101)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(47, 47, 47)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(pnlMensaje, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(pnlIngresoProducto, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(pnlMenu, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE)))
                    .addComponent(pnlModificacion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(155, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(pnlMensaje, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(pnlMenu, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(29, 29, 29)
                .addComponent(pnlIngresoProducto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(pnlModificacion, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(25, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarActionPerformed
        // TODO add your handling code here:
//        if(tblProducto.getSelectedRow()!=-1)
//        {
//            producto.setCodigo((tblProducto.getValueAt(tblProducto.getSelectedRow(), 0)).toString());
//            producto.buscar();
//            producto.eliminar();
//            agregarElementos();
//            lblMensaje.setText("Producto Eliminado Correctamente");
//            lblVerificar.setIcon(new ImageIcon( getClass().getResource( "/Imagenes/bien.jpg" )));
//            pnlMensaje.setVisible(true);
//        }else
//        {
//            lblVerificar.setIcon(new ImageIcon( getClass().getResource( "/Imagenes/Error.jpg" )));
//            lblMensaje.setText("Error: Elija el Producto a eliminar");
//            pnlMensaje.setVisible(true);
//        }          
    }//GEN-LAST:event_btnEliminarActionPerformed

    private void btnCerrarMensajeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCerrarMensajeActionPerformed
        // TODO add your handling code here:
        lblMensaje.setText("");
        pnlMensaje.setVisible(false);

    }//GEN-LAST:event_btnCerrarMensajeActionPerformed

    private void btnIngresarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnIngresarActionPerformed
        // TODO add your handling code here:
//        agregarProveedoresCombo();
//        operacion=false;
//        pnlIngresoProducto.setVisible(true);
//        pnlMenu.setVisible(false);
//        pnlModificacion.setVisible(false);
//        agregarProveedoresCombo();
//        cmbProveedor.setSelectedIndex(-1);
//        txtId.setEditable(true);
//        valNom.setIcon(ImgInvalido);
//        valCant.setIcon(ImgInvalido);
//        valPrecio.setIcon(ImgInvalido);
//        txtId.requestFocus();

    }//GEN-LAST:event_btnIngresarActionPerformed

    private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificarActionPerformed
        // TODO add your handling code here:
//        if(tblProducto.getSelectedRow()!=-1)
//        {
//            operacion=true;
//            pnlMenu.setVisible(false);
//            pnlModificacion.setVisible(false);
//            pnlIngresoProducto.setVisible(true);
//            producto.setCodigo((tblProducto.getValueAt(tblProducto.getSelectedRow(), 0)).toString());
//            producto.buscar();
//            agregarProveedoresCombo();
////            proveedor.setId(producto.buscarNombre());
////            ciudad.buscar();
//            txtId.setText(producto.getCodigo()+"");
//            txtId.setEditable(false);
//            txtNombre.setText(producto.getNombre());
//            txtCantidad.setText(producto.getStock()+"");
//            txtPrecio.setText(producto.getPreciocompra()+"");
//            proveedor.setId(producto.getIdproveedor());
//            proveedor.buscar();
//            cmbProveedor.setSelectedItem(proveedor.getNombre());
//            //this.cmbProveedor.setSelectedIndex(producto.getIdproveedor());
//            cmbProveedor.setEditable(false);
//            valNom.setIcon(ImgValido);            
//            valCant.setIcon(ImgValido);            
//            valPrecio.setIcon(ImgValido);            
//            txtNombre.requestFocus();
//        }
//        else
//        {
//            lblVerificar.setIcon(new ImageIcon( getClass().getResource( "/Imagenes/Error.jpg" )));
//            lblMensaje.setText("Error: Elija el Producto a modificar");
//            pnlMensaje.setVisible(true);
//        }       
    }//GEN-LAST:event_btnModificarActionPerformed
    private void tblProductoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_tblProductoMouseClicked
        // TODO add your handling code here:
//        producto.setCodigo((tblProducto.getValueAt(tblProducto.getSelectedRow(), 0)).toString());
//        producto.buscar();
    }//GEN-LAST:event_tblProductoMouseClicked

    private void txtIdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtIdActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtIdActionPerformed

    private void txtNombreActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtNombreActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_txtNombreActionPerformed

    private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnNuevoActionPerformed
        // TODO add your handling code here:
//        txtId.setText(null);
//        txtNombre.setText(null);
//        agregarProveedoresCombo();
//        System.out.println();
//        valNom.setIcon(ImgInvalido);
//        valCant.setIcon(ImgInvalido);
//        valPrecio.setIcon(ImgInvalido);
//        txtNombre.requestFocus();
    }//GEN-LAST:event_btnNuevoActionPerformed

    private void btnGrabarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnGrabarActionPerformed
        // TODO add your handling code here:
        int verificador=0; 
//        if (Validar()==true){
//            codigo=this.txtId.getText();
//            nombre = this.txtNombre.getText();
//            stock = Integer.parseInt(this.txtCantidad.getText());
//            preciocompra = Double.parseDouble(this.txtPrecio.getText());
//            pro=cmbProveedor.getSelectedItem().toString();
//            producto.setCodigo(codigo);
//            producto.setNombre(nombre);
//            producto.setStock(stock);
//            producto.setPreciocompra(preciocompra);
//            int id=(producto.buscarIdProveedor(pro)).getId();
//            producto.setIdproveedor(id);
//            if (operacion == false) {
//                verificador=producto.grabar();
//                if(verificador==0){
//                producto.grabar();
//                lblMensaje.setText("Producto guardado Satisfactoriamente");
//                lblVerificar.setIcon(new ImageIcon( getClass().getResource( "/Imagenes/bien.jpg" )));
//                }else{
//                   lblMensaje.setText("No se puede ingresar claves repetidas");
//                   lblVerificar.setIcon(new ImageIcon( getClass().getResource( "/Imagenes/Error.jpg" )));
//                }                
//            } else {
//                producto.modificar();
//                lblMensaje.setText("Producto Modificado Satisfactoriamente");
//                btnCancelarActionPerformed(evt);
//            }
//            
//
//        } 
//        else{
//
//            if(operacion==false) {
//                lblMensaje.setText("Error: No se pudo guardar el Producto");
//            } else {
//                lblMensaje.setText("Error: No se pudo modificar el Producto");
//            }
//            lblVerificar.setIcon(new ImageIcon( getClass().getResource( "/Imagenes/Error.jpg" )));
//        }
//        pnlMensaje.setVisible(true);
    }//GEN-LAST:event_btnGrabarActionPerformed

    private void btnCancelarMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnCancelarMouseClicked
        // TODO add your handling code here:
    }//GEN-LAST:event_btnCancelarMouseClicked

    private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed
        // TODO add your handling code here:
//        pnlIngresoProducto.setVisible(false);
//        agregarElementos();
//        btnNuevoActionPerformed(evt);
//        pnlModificacion.setVisible(true);
//        pnlMenu.setVisible(true);
    }//GEN-LAST:event_btnCancelarActionPerformed

    private void txtNombreFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_txtNombreFocusLost
        // TODO add your handling code here:
        try{
            Integer.parseInt(txtNombre.getText());
                valNom.setIcon(ImgInvalido);

        } catch (Exception ex)
        {
            if(txtNombre.getText().toString().equals(""))
                valNom.setIcon(ImgInvalido);
            else
                valNom.setIcon(ImgValido);
        }
    }//GEN-LAST:event_txtNombreFocusLost

    private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAgregarActionPerformed
        // TODO add your handling code here:
        /*(cmbCiudad.getSelectedIndex()!=-1){
            String b= cmbCiudad.getSelectedItem().toString();
            ciudad.setNombreciudad(b);
            ciudad.buscarNombre();
            modeloCiudades.addElement(cmbCiudad.getSelectedItem().toString());
            lstCiudad.setModel(modeloCiudades);
        }*/
    }//GEN-LAST:event_btnAgregarActionPerformed

    private void cmbProveedorFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_cmbProveedorFocusLost
        // TODO add your handling code here:
    }//GEN-LAST:event_cmbProveedorFocusLost

    private void cmbProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmbProveedorActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_cmbProveedorActionPerformed
    
//     public void agregarProveedoresCombo()
//    {
//        modeloProveedorCombo.removeAllElements();
//        proveedores.listar();
//        listapro=proveedores.getProveedores();
//        Iterator it = listapro.iterator();
//        while (it.hasNext())
//        {
//            Proveedor p=(Proveedor) it.next();
//            modeloProveedorCombo.addElement(p.getNombre());
//            
//        }
//        cmbProveedor.setModel(modeloProveedorCombo);    
//    }
    public class mipanel extends javax.swing.JPanel {
        String ruta;
        public mipanel(int ancho, int alto, String ruta){
            this.setSize(ancho,alto);
            this.ruta=ruta;           
        }

        @Override
        public void paint(Graphics g){
            
            Dimension tamanio = getSize();
            ImageIcon imagenFondo = new ImageIcon(getClass().getResource(ruta));
            g.drawImage(imagenFondo.getImage(),0,0,tamanio.width, tamanio.height, null);
            setOpaque(false);
            super.paintComponent(g);

        }
        
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnAgregar;
    private javax.swing.JButton btnCancelar;
    private javax.swing.JButton btnCerrarMensaje;
    private javax.swing.JButton btnEliminar;
    private javax.swing.JButton btnGrabar;
    private javax.swing.JButton btnIngresar;
    private javax.swing.JButton btnModificar;
    private javax.swing.JButton btnNuevo;
    private javax.swing.JComboBox cmbProveedor;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel lblCodigo1;
    private javax.swing.JLabel lblLibro;
    private javax.swing.JLabel lblMensaje;
    private javax.swing.JLabel lblNombre1;
    private javax.swing.JLabel lblVerificar;
    private javax.swing.JPanel pnlGrilla;
    private javax.swing.JPanel pnlIngresoProducto;
    private javax.swing.JPanel pnlMensaje;
    private javax.swing.JPanel pnlMenu;
    private javax.swing.JPanel pnlModificacion;
    private javax.swing.JTable tblProducto;
    private javax.swing.JTextField txtId;
    private javax.swing.JTextField txtNombre;
    private javax.swing.JLabel valCant;
    private javax.swing.JLabel valNom;
    private javax.swing.JLabel valPrecio;
    // End of variables declaration//GEN-END:variables
}


